body { margin: 0; font-family: Arial, sans-serif; background: #fafafa; color: #333; } h1 { text-align: left; font-size: 2.2rem; } p { text-align: justify; font-size: 1.1rem; } img { max-width: 100%; max-height: 100%; border-radius: 5px; } .banner { position: relative; width: 100%; height: 300px; overflow: hidden; } .banner img { width: 100%; height: 100%; object-fit: cover; border-radius: 0px; } .top-section { padding: 1rem 1rem; background: #f0f0f0; } .gallery-section { background: #fff; position: relative; } .gallery-container { display: flex; width: 100%; min-height: 30vh; max-height:100%; align-items: flex-start; box-sizing: border-box; position: relative; } .overlay { position: absolute; top: 0; left: 0; bottom: 0; right: auto; width: auto; background: rgba(0,0,0,0); opacity: 0; visibility: hidden; transition: opacity 0.3s linear; z-index: 0; } .overlay.active { opacity: 1; visibility: visible; width: 100%; } .panel:not(.open) ~ .overlay.active { width: 100%; } .gallery { display: flex; flex-wrap: wrap; justify-content: start; align-content: stretch; gap: 1rem; padding: 1rem; flex: 1; transition: all 0.3s linear; box-sizing: border-box; } .card { width: 253px; height: 200px; background: #fff; overflow: hidden; flex: none; cursor: pointer; z-index: 1; } .card img { width: 100%; height: 100%; object-fit: cover; } .panel { z-index: 2; width: 0; height: 0; flex: none; background: white; overflow: hidden; transition: width 0.3s ease; box-sizing: border-box; position: relative; display: flex; flex-direction: column; position: sticky; top: 0; } .panel.open { width: 70%; height: 100%; padding: 2rem; } .panel img { width: 100%; height: auto; margin-bottom: 1rem; } #closePanel { position: absolute; top: 1rem; right: 1rem; background: none; border: none; font-size: 1.5rem; cursor: pointer; } * { box-sizing: border-box; } .column { float: left; padding: 10px; } .left { width: 31%; display: grid; justify-content: center; } .right { width: 25%; padding: 10px 30px; } .middle { width: 44%; padding: 10px 15px; } .row:after { content: ""; display: table; clear: both; } .panelleft { width: 35%; object-fit: cover; } .panelmiddle { width: 45%; padding: 10px 30px; } .panelright { width: 20%; } .site-footer { background: #222; color: #fff; text-align: center; padding: .2rem 1rem; font-size: 0.9rem; } .right a, .panelright a { background-color: #d9d9d8; border-radius: 5px; max-width: 100%; color: black; padding: 10px 20px; margin: 4px auto; text-align: center; text-decoration: none; display: flex; justify-content: center; } .right a:hover, .right a:active, .panelright a:hover, .panelright a:active { background-color: #91ae91; color: white; } @media (max-width: 1564px) { .left { width: 100%; } .right { width: 30%; } .middle { width: 70%; padding: 10px 15px; } .card { width: 23%; height: 200px; } .panel.open { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 10; overflow-y: auto; scrollbar-width: none; -ms-overflow-style: none; } @media (max-width: 939px) { .panel.open { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 10; overflow-y: auto; scrollbar-width: none; -ms-overflow-style: none; } .right a, .panelright a { width: 100%; max-width: 100%; } .column { width: 100%; } .card { width: 100%; } .left, .right, .middle, .panelleft, .panelright, .panelmiddle { width: 100%; } img { width: 100%; }